package com.neborosoft.FlyingDog.logic.database.content.identified;

//Main(needed for use):GenreName, artist, GenreImageUrl
//Meta:genres,wikiInfo[published,shortDescription,fullDescription]

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public final class Genres {
    private static final String[] GENRE_NAMES = new String[]{
                    "rock",
                    "seen live",
                    "alternative",
                    "indie",
                    "electronic",
                    "pop",
                    "metal",
                    "female vocalists",
                    "classic rock",
                    "alternative rock",
                    "jazz",
                    "punk",
                    "indie rock",
                    "folk",
                    "ambient",
                    "singer-songwriter",
                    "experimental",
                    "electronica",
                    "hard rock",
                    "hip-hop",
                    "80s",
                    "dance",
                    "hardcore",
                    "black metal",
                    "chillout",
                    "progressive rock",
                    "death metal",
                    "instrumental",
                    "heavy metal",
                    "british",
                    "punk rock",
                    "soundtrack",
                    "industrial",
                    "soul",
                    "blues",
                    "classical",
                    "emo",
                    "rap",
                    "90s",
                    "thrash metal",
                    "metalcore",
                    "trance",
                    "japanese",
                    "favorites",
                    "reggae",
                    "acoustic",
                    "country",
                    "progressive metal",
                    "trip-hop",
                    "hip hop",
                    "power metal",
                    "funk",
                    "psychedelic",
                    "melodic death metal",
                    "new wave",
                    "post-rock",
                    "electro",
                    "house",
                    "indie pop",
                    "techno",
                    "german",
                    "love",
                    "70s",
                    "rnb",
                    "britpop",
                    "american",
                    "gothic metal",
                    "downtempo",
                    "piano",
                    "60s",
                    "00s",
                    "grunge",
                    "post-punk",
                    "albums i own",
                    "beautiful",
                    "ska",
                    "gothic",
                    "screamo",
                    "mellow",
                    "chill",
                    "doom metal",
                    "french",
                    "guitar",
                    "oldies",
                    "idm",
                    "swedish",
                    "male vocalists",
                    "awesome",
                    "j-rock",
                    "nu metal",
                    "symphonic metal",
                    "finnish",
                    "lounge",
                    "polish",
                    "female vocalist",
                    "grindcore",
                    "progressive",
                    "folk metal",
                    "canadian",
                    "post-hardcore",
                    "world",
                    "drum and bass",
                    "synthpop",
                    "j-pop",
                    "new age",
                    "minimal",
                    "favourites",
                    "ebm",
                    "russian",
                    "pop rock",
                    "cover",
                    "pop punk",
                    "latin",
                    "darkwave",
                    "favorite",
                    "female",
                    "dark ambient",
                    "noise",
                    "industrial metal",
                    "avant-garde",
                    "psychedelic rock",
                    "brutal death metal",
                    "dub",
                    "disco",
                    "gothic rock",
                    "celtic",
                    "sexy",
                    "easy listening",
                    "alternative metal",
                    "anime",
                    "christian",
                    "blues rock",
                    "cool",
                    "favourite",
                    "classic",
                    "shoegaze",
                    "heard on pandora",
                    "folk rock",
                    "stoner rock",
                    "comedy",
                    "psytrance",
                    "christmas",
                    "sad",
                    "atmospheric",
                    "melancholy",
                    "fun",
                    "deathcore",
                    "jpop",
                    "deutsch",
                    "romantic",
                    "viking metal",
                    "fusion",
                    "female fronted metal",
                    "irish",
                    "uk",
                    "visual kei",
                    "spanish",
                    "relax",
                    "hardcore punk",
                    "acid jazz",
                    "relaxing",
                    "alt-country",
                    "amazing",
                    "covers",
                    "favorite songs",
                    "italian",
                    "lo-fi",
                    "garage rock",
                    "happy",
                    "goth",
                    "melancholic",
                    "rockabilly",
                    "live",
                    "swing",
                    "ethereal",
                    "dark",
                    "norwegian",
                    "emocore",
                    "ballad",
                    "glam rock",
                    "australian",
                    "brazilian",
                    "male vocalist",
                    "good",
                    "americana",
                    "party",
                    "soft rock",
                    "synth pop",
                    "political",
                    "melodic metal",
                    "sludge",
                    "jrock",
                    "epic",
                    "hiphop",
                    "rock n roll",
                    "post rock",
                    "technical death metal",
                    "usa",
                    "favourite songs",
                    "vocal",
                    "female vocals",
                    "remix",
                    "speed metal",
                    "club",
                    "electropop",
                    "contemporary classical",
                    "bossa nova",
                    "funky",
                    "baroque",
                    "rhythm and blues",
                    "progressive trance",
                    "electroclash",
                    "russian rock",
                    "brasil",
                    "neofolk",
                    "trip hop",
                    "nu-metal",
                    "dancehall",
                    "industrial rock",
                    "rock and roll",
                    "guitar virtuoso",
                    "world music",
                    "drone",
                    "smooth jazz",
                    "dnb",
                    "breakbeat",
                    "catchy",
                    "rapcore",
                    "dubstep",
                    "art rock",
                    "loved",
                    "summer",
                    "thrash",
                    "drum n bass",
                    "dark electro",
                    "psychobilly",
                    "mpb",
                    "underground hip-hop",
                    "ska punk",
                    "southern rock",
                    "medieval",
                    "vocal trance",
                    "dreamy",
                    "christian rock",
                    "dream pop",
                    "pagan metal",
                    "minimal techno",
                    "nu jazz",
                    "breakcore",
                    "english"
    };

    static {
        Arrays.sort(GENRE_NAMES);
    }

    private Genres(){

    }

    public static List<String> getGenresList(){
        return Collections.unmodifiableList(Arrays.asList(GENRE_NAMES));
    }

    public static boolean genreExists(String genreName){
        return Arrays.binarySearch(GENRE_NAMES, genreName) >= 0;
    }
}
